
const url= require('url');
function changeRes(res) {
    res.send=function (data) {     
        
        res.writeHead(200,'Content-Type:text/html;charset="utf-8"');
        res.write("<head><meta charset='UTF-8'></head>")
        res.end(data);
    }
}
var Sever=function () {
    var G=this;
    //处理 get post 请求

    this._get={};
    this._post={};
    var app=function (req,res) {
        changeRes(res)
        var method=req.method.toLowerCase()
        var pathname=url.parse(req.url,true).pathname;
        if (!pathname.endsWith('/')) {
            pathname=pathname+'/'
        }
        if (G['_'+method][pathname]) { //执行 get post方法
            if (method=='get') {
                
                G['_'+method][pathname](req,res)
            }
            if (method=="post") {
                var postData=''
                req.on('data',(data)=>{
                    postData+=data
                })
                req.on('end',()=>{
                    req.body=postData // 获取post传值

                    G['_'+method][pathname](req,res)

                    console.log(postData)
                })
            }
        }else{
            res.end('no router')
        }
    }
    app.get=function (string,callback) { //定义get方法
        if (!string.endsWith('/')) {
            string=string+'/';
        }
        if (!string.startsWith('/')) {
            string='/'+string;
        }
        G._get[string]=callback;
    }
    app.post=function (string,callback) {
        if (!string.endsWith('/')) {
            string=string+'/'
        }
        if (!string.startsWith('/')) {
            string='/'+string
        }
        G._post[string]=callback;
    }
    return app;
}
module.exports=Sever();